// JavaScript Document

/***** FUNCTIES GEBRUIKT DOOR overzicht.html *****/

function laadFilms(dag)
{
	/*laadFilmData("friday", "A");
	laadFilmData("friday", "B");
	laadFilmData("saturday", "A");
	laadFilmData("saturday", "B");
	laadFilmData("sunday", "A");
	laadFilmData("sunday", "B");*/

		laadFilmData(dag, "A");
		laadFilmData(dag, "B");	
}

function laadFilmData(dag, zaal)
{
	/** Combinatie van lokale XML (waar TMDb id, dag en uur van de films die we gaan tonen in staat) en externe data via JSON.
	
	tmdb_id komt overeen met het ID van de film in de database van "the movie database" (https://www.themoviedb.org/),
	die stellen hun data gratis ter beschikking voor niet-commerciëel gebruik.
	Via de API-key wordt JSON data opgehaald van de website met het id uit de XML om zo de correcte filmdata weer te geven. **/
	
	//console.log(xmlDoc);
	
	/* XML van de correcte dag en zaal inladen */
	var tmp = xmlDoc.getElementsByTagName("film");
	console.log(tmp);
	//tmp = tmp[0].getElementsByTagName("zaal"+zaal);
	
	var dagFilms = [];
	var zaalFilms = [];
	
	for(i = 0; i < tmp.length; i++)	//films met correcte dag er uit halen
	{
		if(tmp[i].getElementsByTagName("dag")[0].childNodes[0].nodeValue == dag)
		{
			dagFilms.push(tmp[i]);
		}
	}
	
	for(i = 0; i < dagFilms.length; i++)	//films met correcte zaal er uit halen
	{
		if(dagFilms[i].getElementsByTagName("zaal")[0].childNodes[0].nodeValue == zaal)
		{
			zaalFilms.push(dagFilms[i]);
		}
	}

	var urls = [];

	for (i = 0; i < zaalFilms.length; i++)
	{
		/* URL's aanmaken voor JSON requests */
		urls.push("https://api.themoviedb.org/3/movie/" + zaalFilms[i].getElementsByTagName("tmdb_id")[0].childNodes[0].nodeValue + "?api_key=" + api_key);
	}
	
	var jxhr = [];
	var result = [];
	
	/* Voor elke URL in urls[], JSON request doen naar TMDb en JSON data toevoegen aan result[] */
	$.each(urls, function (i, url) {
		jxhr.push(
			$.getJSON(url, function (json) {
				result.push(json);
			})
		);
	});
	
	$.when.apply($, jxhr).done(function() {
		/* indien JSON request(s) gelukt, data invullen in correcte element */
		
		document.getElementById(dag + "_" + zaal).innerHTML = "<th>Screen " + zaal + "</th>";
		for(i = 0; i < zaalFilms.length; i++) //voor elke film...
		{
			for(j = 0; j < result.length; j++)	//...loop resultaten van JSON requests af
			{
				if(zaalFilms[i].getElementsByTagName("tmdb_id")[0].childNodes[0].nodeValue == result[j].id)	
				//omdat JSON requests asynchroon worden behandeld, staan de resultaten niet meteen in de opgevraagde volgorde, daarom steeds id in de xml aftoetsen tegen dat van het huidige resultaat
				{
					var newElement = document.createElement('tr');
					//console.log(dagFilms[i].getElementsByTagName("alt_title")[0].nodeValue);
					var alt = zaalFilms[i].getElementsByTagName("alt_title")[0].childNodes[0].nodeValue;
					//console.log(alt);
					var txt = "<td>" + zaalFilms[i].getElementsByTagName("uur")[0].childNodes[0].nodeValue + "</td><td class=\"filmtitel\"><a href=\"film_detail.html\" onClick=\"setCookie('film_id', '" + result[j].id + "')\">";
					if(alt != "null")	//als er een alternatieve titel gedefiniëerd is in de xml, die gebruiken (bv bij "C'est arrivée..." zou hij anders de Engelse titel geven uit de database)
					{
						txt += alt;
					} else {
						txt += result[j].title ;
					}
					txt + "</a></td>";
					newElement.innerHTML = txt;
					//console.log(result[i]);
					document.getElementById(dag + "_" + zaal).appendChild(newElement);
					result.splice(j, 1); //huidige film uit de resultatenset halen, zodat de volgende for(j) lus korter is
					break;	//gezien we de correcte film reeds hebben gevonden in result[], mag de for(j) lus stoppen en wordt de volgende film genomen door de for(i)
				}
			}
		}
	})
	.fail(function(){
		/* indien JSON request(s) mislukt/mislukken */
		document.getElementById(dag + "_" + zaal).innerHTML = "<th>" + connect_error + "</th>";
	}
	);
}

function konami()
{
	$("#vrijdag").slideDown();
	
	if(zaterdag_ingeladen)
	{
		$("#zaterdag").slideDown();
	}
	
	if(zondag_ingeladen)
	{
		$("#zondag").slideDown();
	}

	for(i = 0; i < 27; i++)
	{
		document.getElementsByClassName("filmtitel").item(i).innerHTML = "<a href=\"film_detail.html\" onClick=\"setCookie('film_id', '74849')\">Star Wars: Holiday Special</a>";
	}
}


